package mylab.usm.oauth2.client.service;

import com.fujieid.jap.sso.JapMfaService;

import java.util.List;

/**
 * jap-mfa 是为了方便快速的实现多因素认证中的 TOTP（Time based one-time password） 认证。
 *
 * @link {https://justauth.plus/quickstart/jap-mfa/}
 */
public class JapMfaServiceImpl implements JapMfaService {

    /**
     * 根据帐号查询 secretKey
     *
     * @param userName 申请 secretKey 的用户
     * @return secretKey
     */
    @Override
    public String getSecretKey(String userName) {
        return null;
    }

    /**
     * 将 secretKey 关联 userName 后进行保存，可以存入数据库也可以存入其他缓存媒介中
     *
     * @param userName       用户名
     * @param secretKey      申请到的 secretKey
     * @param validationCode 当前计算出的 TOTP 验证码
     * @param scratchCodes   scratch 码
     */
    @Override
    public void saveUserCredentials(String userName, String secretKey, int validationCode, List<Integer> scratchCodes) {

    }
}
